package com.sanbi.shield.server.biz.service;

import com.sanbi.shield.common.bean.KeyNamePair;
import com.sanbi.shield.server.common.bean.request.UserLoginRequest;
import com.sanbi.shield.server.common.bean.request.UserSelectQueryRequest;
import com.sanbi.shield.server.common.bean.vo.ResourceTreeNodeVO;
import com.sanbi.shield.server.common.bean.vo.UserInfoPdaVO;

import java.util.List;

/**
 * 用户信息Service
 *
 * @author XiaoQingqing
 * @since 2024/07/25
 */
public interface UserInfoService {
    /**
     * 登录
     *
     * @param request 登录请求
     * @return TOKEN
     */
    String login(UserLoginRequest request);

    /**
     * 查询PDA用户信息
     *
     * @param userId 用户ID
     * @return 用户信息
     */
    UserInfoPdaVO queryPdaUserInfo(Long userId);

    /**
     * 下拉选择用户查询
     *
     * @param request 请求
     * @return 查询结果
     */
    List<KeyNamePair<Long, String>> querySelectUser(UserSelectQueryRequest request);

    /**
     * 查询权限树
     *
     * @return 权限树
     */
    List<ResourceTreeNodeVO> queryPermTree();
}
